package fr.afcepf.al22.projet1.entity;
// default package
// Generated 19 nov. 2014 11:02:30 by Hibernate Tools 3.4.0.CR1

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;

/**
 * Adresse generated by hbm2java
 */
@Entity
@Table(name = "adresse", catalog = "projet1")
public class Adresse implements java.io.Serializable {

	private Integer idAdresse;
	private String numeroAdresse;
	private String rueAdresse;
	private String villeAdresse;
	private String codePostalAdresse;
	private Set<Commande> commandes = new HashSet<Commande>(0);
	private Set<Utilisateur> utilisateurs = new HashSet<Utilisateur>(0);

	public Adresse() {
	}

	public Adresse(String numeroAdresse, String rueAdresse,
			String villeAdresse, String codePostalAdresse) {
		this.numeroAdresse = numeroAdresse;
		this.rueAdresse = rueAdresse;
		this.villeAdresse = villeAdresse;
		this.codePostalAdresse = codePostalAdresse;
	}

	public Adresse(String numeroAdresse, String rueAdresse,
			String villeAdresse, String codePostalAdresse,
			Set<Commande> commandes, Set<Utilisateur> utilisateurs) {
		this.numeroAdresse = numeroAdresse;
		this.rueAdresse = rueAdresse;
		this.villeAdresse = villeAdresse;
		this.codePostalAdresse = codePostalAdresse;
		this.commandes = commandes;
		this.utilisateurs = utilisateurs;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_adresse", unique = true, nullable = false)
	public Integer getIdAdresse() {
		return this.idAdresse;
	}

	public void setIdAdresse(Integer idAdresse) {
		this.idAdresse = idAdresse;
	}

	@Column(name = "numero_adresse", nullable = false, length = 45)
	public String getNumeroAdresse() {
		return this.numeroAdresse;
	}

	public void setNumeroAdresse(String numeroAdresse) {
		this.numeroAdresse = numeroAdresse;
	}

	@Column(name = "rue_adresse", nullable = false, length = 65535)
	public String getRueAdresse() {
		return this.rueAdresse;
	}

	public void setRueAdresse(String rueAdresse) {
		this.rueAdresse = rueAdresse;
	}

	@Column(name = "ville_adresse", nullable = false, length = 45)
	public String getVilleAdresse() {
		return this.villeAdresse;
	}

	public void setVilleAdresse(String villeAdresse) {
		this.villeAdresse = villeAdresse;
	}

	@Column(name = "code_postal_adresse", nullable = false, length = 15)
	public String getCodePostalAdresse() {
		return this.codePostalAdresse;
	}

	public void setCodePostalAdresse(String codePostalAdresse) {
		this.codePostalAdresse = codePostalAdresse;
	}

	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "adresses")
	public Set<Commande> getCommandes() {
		return this.commandes;
	}

	public void setCommandes(Set<Commande> commandes) {
		this.commandes = commandes;
	}

	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "adresses")
	public Set<Utilisateur> getUtilisateurs() {
		return this.utilisateurs;
	}

	public void setUtilisateurs(Set<Utilisateur> utilisateurs) {
		this.utilisateurs = utilisateurs;
	}

}
